// 测试连接 MongoDB 数据库

const mongoose = require('mongoose');

const url = 'mongodb://localhost:27017/ecut';

const options = {
    useNewUrlParser: true,
    useUnifiedTopology: true
}

// 尝试建立数据库连接 【连接建立后被保存到 mongoose.connection 中】
let result = mongoose.connect(url, options);
// connect 与 createConnection 不同
console.log(result); // connect 函数返回了一个 Promise 实例

// 创建一个规则 ( 类似于指定表中的表结构 )
const studentSchema = new mongoose.Schema({
    name: { type: String, default: '' },
    gender: { type: String, default: '' },
    birthdate: { type: Date, default: null },
    hometown: { type: String, default: '' }
});

// 根据规则创建一个 Model 【注意这里通过mongoose来调用model函数】
const Student = mongoose.model('Student', studentSchema);

// 使用参数给定的实例对象来构造一个 Student 实例 (实际上是个文档(document))
const stu = new Student({
    name: '康有为',
    gender: '男',
    birthdate: new Date('1850-10-20'),
    hometown: '中国'
});

// 使用 model 的 save 函数完成保存操作
stu.save(function(error) {
    if (error) {
        console.log('保存失败', error);
    } else {
        console.log('保存成功');
    }
    // 断开连接
    mongoose.disconnect(); // mongoose.connection.close();
});